package com.zb.mobile.user.service;

import com.zb.entity.AccounLoginInfo;
import com.zb.mobile.UserCodeRegisterVo;
import com.zb.result.PageUtil;
import com.zb.vo.CodeScanDetailSetVo;
import com.zb.vo.UserContactVo;

import java.util.List;
import java.util.Map;

/**
 * @Author WEN
 * @Date 2023/11/6 0006
 **/
public interface ConUserMobileCodeService {
    /**
     * 防伪查询 - 根据编码/仓库编码查询
     * @param loginInfo 客户登录信息
     * @param code 防伪码/仓库编码
     * @return
     */
    Map<String, Object> getSecurityCheck(AccounLoginInfo loginInfo, String code);

    /**
     * 电子保修卡 - 获取保修卡列表
     * @param userId 客户ID
     * @param pageUtil
     * @return
     */
    Map<String, Object> getUserCodeList(Long userId, PageUtil pageUtil);

    /**
     * 电子保修卡 - 获取客户登记地址列表
     * @param userId 客户ID
     * @param pageUtil 分页对象
     * @return
     */
    Map<String, Object> getUserRegisterAddressList(Long userId, PageUtil pageUtil);

    /**
     * 获取编码登记自定义字段
     * @param custAccId 商家ID
     * @return
     */
    Map<String, Object> getUserCodeRegisterField(Long custAccId);

    /**
     * 增加电子保修卡
     * @param logintInfo
     * @param codeRegisterVo
     */
    Map<String, Object> saveUserCodeRegister(AccounLoginInfo logintInfo, UserCodeRegisterVo codeRegisterVo);

    /**
     * 工单报单-扫码报单，获取编码信息
     * @param loginInfo 登录信息
     * @param securityCode 防伪码
     * @return
     */
    Object getUserOrderCodeInfo(AccounLoginInfo loginInfo, String securityCode);

    /**
     * 根据编码ID编码扫码详情信息
     * @param custAccId 商家ID
     * @param codeId 编码ID
     * @return
     */
    Map<String, Object> getUserCodeDetail(Long custAccId, Long codeId);
}
